package com.nineclock.api.system;

import com.nineclock.common.entity.Result;
import com.nineclock.system.dto.SysCompanyUserDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

import java.util.List;

@Api(value = "企业员工管理", description = "企业员工管理接口", tags = "系统服务")
public interface SysCompanyUserControllerApi {

    /**
     * 根据用户ID/企业ID查询员工信息
     * @param userId
     * @param companyId
     * @return
     */
    @ApiOperation(value = "员工管理: 根据企业/用户ID查询员工列表")
    public Result<List<SysCompanyUserDTO>> queryCompanyUser(Long userId, Long companyId);

    /**
     * 员工管理: 根据ID查询企业员工信息
     * @param companyUserId
     * @return
     */
    @ApiOperation(value = "员工管理: 根据ID查询企业员工信息")
    public Result<SysCompanyUserDTO> queryByCompanyUserId(Long companyUserId);

    /**
     * 查询当前企业所有的员工
     * @return
     */
    @ApiOperation(value = "查询当前企业所有的员工")
    public Result<List<SysCompanyUserDTO>> queryAllCompanyUser();


    /**
     * 根据手机号获取员工
     * @param mobile
     * @return
     */
    @ApiOperation(value = "根据手机号获取员工")
    public Result<SysCompanyUserDTO> findCompanyUserByMobile(String mobile);


    /**
     * 根据企业ID查询企业的主管理员
     * @param companyId
     * @return
     */
    @ApiOperation(value = "根据企业ID查询企业的主管理员")
    public Result<SysCompanyUserDTO> queryAdminByCompanyId(Long companyId);

 }
